package com.flex.tools
{
	import flash.display.DisplayObject;
	import flash.filters.GlowFilter;
	
	import mx.collections.ArrayCollection;
	import mx.controls.Alert;
	import mx.controls.Image;
	import mx.core.Application;
	import mx.effects.Glow;
	import mx.effects.IEffectInstance;
	import mx.managers.PopUpManager;
	import mx.utils.StringUtil;

	public class ZdzTools
	{
		public var zdzInfoList:Array=new Array();
		public var zdzDivList:Array=new Array();
		public var warningList:Array=new Array();
		public var hasWarning:Boolean=false;
		
		public function ZdzTools()
		{
		}
		public function insertToZdzList(list:ArrayCollection,type:String):void{
			//Alert.show(type);
			if("temp"==type){
				for(var i in list){
					var zdzTemp:Zdz=new Zdz();
					zdzTemp.setZdzId(list[i].id);
					zdzTemp.setZdzName(list[i].zdzName);
					zdzTemp.setCurrent(list[i].ztemp);
					zdzTemp.setMax(list[i].daymaxtemp);
					zdzTemp.setMin(list[i].daymintemp);
					zdzDivList.push(zdzTemp);
				}
			}else if("rain"==type){
				for(var i in list){
					var zdzTemp:Zdz=new Zdz();
					zdzTemp.setZdzId(list[i].id);
					zdzTemp.setZdzName(list[i].zdzName);
					zdzTemp.setMin(list[i].hourrf);
					zdzTemp.setCurrent(list[i].dayrf);
					zdzDivList.push(zdzTemp);
				}
			}else if("wind"==type){
				for(var i in list){
					var zdzTemp:Zdz=new Zdz();
					zdzTemp.setZdzId(list[i].id);
					zdzTemp.setZdzName(list[i].zdzName);
					zdzTemp.setCurrent(list[i].wd10dd);
					zdzTemp.setMin(list[i].wd10df);
					zdzDivList.push(zdzTemp);
				}
			}else if("humidity"==type){
				for(var i in list){
					var zdzTemp:Zdz=new Zdz();
					zdzTemp.setZdzId(list[i].id);
					zdzTemp.setZdzName(list[i].zdzName);
					zdzTemp.setCurrent(list[i].rh);
					zdzTemp.setMax(list[i].maxrh);
					zdzTemp.setMin(list[i].minrh);
					zdzDivList.push(zdzTemp);
				}
			}else if("pressure"==type){
				for(var i in list){
					var zdzTemp:Zdz=new Zdz();
					zdzTemp.setZdzId(list[i].id);
					zdzTemp.setZdzName(list[i].zdzName);
					zdzTemp.setCurrent(list[i].ps);
					zdzTemp.setMax(list[i].maxps);
					zdzTemp.setMin(list[i].minps);
					zdzDivList.push(zdzTemp);
				}
			}
		}
		public function getZdzDiv(zdz:String):Zdz{
			//Alert.show(zdz);
			var zdzReturn:Zdz=new Zdz();
			var flag:Boolean=false;
			for(var i in zdzDivList){
				var zdzTemp:Zdz=zdzDivList[i] as Zdz;
				if(StringUtil.trim(zdz)==StringUtil.trim(zdzTemp.getZdzId())){
					zdzReturn.setZdzId(zdzTemp.getZdzId());
					zdzReturn.setZdzName(zdzTemp.getZdzName());
					zdzReturn.setCurrent(zdzTemp.getCurrent());
					zdzReturn.setMax(zdzTemp.getMax());
					zdzReturn.setMin(zdzTemp.getMin());
					flag=true;
					break;
				}
			}
			if(!flag){
				zdzReturn.setZdzId(zdz);
				zdzReturn.setZdzName(zdz);
				zdzReturn.setCurrent("无");
				zdzReturn.setMax("无");
				zdzReturn.setMin("无");
			}
			//Alert.show(zdzReturn.toString());
			return zdzReturn;
		}
		
		public function insertToWarnings(list:ArrayCollection):void{
			for(var i in list){
			//Alert.show(i.toString());
				var warning:Warning=new Warning();
//				var warning:Warning=list[i] as Warning;
				warning.setZdzId(list[i].id);
				var hasRain:Boolean=false;
				var hasWind:Boolean=false;
				var type:String="warn_";
				//Alert.show(list[i].id+","+list[i].rain+","+list[i].wind);
				if("Y"==list[i].rain){
					hasRain=true;
					type+="rain";
				}
				if("Y"==list[i].wind){
					hasWind=true;
					type+="wind";
				}
				warning.setType(type);
				warning.setHasRain(hasRain);//
				warning.setHasWind(hasWind);//
				warningList.push(warning);
			}
		}
		
		public function saveZdzInfo(zdzInfos:ArrayCollection):void{
			zdzInfoList=new Array();
			for(var i in zdzInfos){
				var zdzTemp:Zdz=new Zdz();
				zdzTemp.setZdzId(zdzInfos[i].ZId);
				zdzTemp.setZdzName(zdzInfos[i].ZName);
				zdzTemp.setZdzType(zdzInfos[i].ZType);
				zdzInfoList.push(zdzTemp);
			}
		}
		
		public function setDisForZdz(zdz:zdz_div,displayObject:DisplayObject,visible:Boolean):void{
			if(warningList.length>0){
				hasWarning=true;
			}
				for(var i in warningList){
					var warning:Warning=warningList[i] as Warning;
					if(StringUtil.trim(zdz.id)==StringUtil.trim(warning.getZdzId())){
						if(warning.getHasRain()||warning.getHasWind()){
							var div:dis_warning_div=new dis_warning_div();
							div.y=zdz.y-10;
							div.x=zdz.x+20;
							div.type=warning.getType();
							var glow:Glow=new Glow();
							glow.duration=1000;
							glow.alphaFrom=1.0;
							glow.alphaTo=0.8;
							glow.blurXFrom=0.0;
							glow.blurXTo=50.0;
							glow.blurYFrom=0.0;
							glow.blurYTo=50.0;
							glow.color=0xff0000;
							glow.repeatCount=0;
							glow.target = div; 
							glow.stop(); 
							glow.play();
							PopUpManager.addPopUp(div,displayObject,false);
						}
					}
				}
		}
	}
}